using Avalonia.Data.Converters;
using System;
using System.Globalization;

namespace Mvvm.Converters
{
    public class IndexToBoolConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is int selectedAnswer && parameter is string parameterValue)
            {
                // 参数是选项的索引（例如 0、1、2、3）
                if (int.TryParse(parameterValue, out int optionIndex))
                {
                    return selectedAnswer == optionIndex;
                }
            }
            return false;
        }

        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (value is bool isChecked && isChecked && parameter is string parameterValue)
            {
                // 返回选中的索引
                return int.TryParse(parameterValue, out int index) ? index : -1;
            }
            return -1;
        }
    }
}